home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-04 / aie8911.zip / SPECS.ARI < prev    next >
Text File  |  1989-09-21  |  3KB  |  131 lines

  1. :- module  specs.
  2. :- public
  3.      main / 0,
  4.      restart / 0.
  5. :- extrn
  6.      once / 1 : far,                  /* In module: LIB.ARI                 */
  7.      close_log_file / 0,              /* In module: NEWTRACE.ARI            */
  8.      init_log_file / 0,               /* In module: NEWTRACE.ARI            */
  9.      log_nl / 0,                      /* In module: NEWTRACE.ARI            */
  10.      log_read / 1,                    /* In module: NEWTRACE.ARI            */
  11.      log_write / 1,                   /* In module: NEWTRACE.ARI            */
  12.      yes / 3,                         /* In module: STUBS.ARI               */
  13.      reconsult_if_there / 1 : far.    /* In module: FILEMOD.ARI             */
  14.  
  15.  
  16.  
  17.  
  18.  
  19. %%%%%%%%%% end prepcomp generated declarations %%%%%%%%%%%%%%%%%%%%
  20.  
  21. :- visible rconsult / 1.
  22. :- visible rrconsult / 1.
  23.  
  24. % Rodger Knaus added these declarations
  25. % These are probably required also in v. 4
  26.  
  27. % :- module  sa.
  28.  
  29. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  30. %
  31. %
  32. %                              sa.ari
  33. %                       systems analysis top level
  34. %
  35. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  36. %
  37. %  History of this Module:
  38. %
  39. %   2 jun 89  rk   started module
  40. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  41.  
  42.  
  43. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  44.  
  45.  
  46. main :-
  47.    reconsult_if_there($specs.cfg$),
  48.    init_log_file,
  49.    title,
  50.    init_ops,
  51.     cls,
  52.     log_nl,
  53.     log_write( $ Loading System Description. $      ),
  54.     log_nl,
  55.     reconsult_if_there($specs.ini$),
  56.     !,
  57.     read_eval_loop,
  58.     close_log_file ,
  59.     halt.
  60.  
  61. restart :- halt.
  62.  
  63. read_eval_loop :-
  64.     repeat,
  65.        log_write($?>$),
  66.        log_read(X),
  67.        (  X = halt,
  68.           !;
  69.           once( do_goal(X)) ,
  70.           log_nl,
  71.           fail).
  72.  
  73. title :-
  74. cls,
  75. log_write(
  76. $
  77.  
  78.                INSTANT RECALL SPECIFICATION INTERPRETER
  79.  
  80.                (C) Copyright 1989 by INSTANT RECALL
  81.                       All rights reserved.
  82.                Use subject to license agreement below.
  83.  
  84.                           Instant Recall
  85.                           5900 Walton Rd.
  86.                           Bethesda, Md. 20817 USA
  87.                           (301) 530-0898
  88.  
  89.    You may use this program in both source and executable form free of
  90.    charge for personal non-commercial use.  The program and code may not
  91.    be modified, incorporated into other programs, or used commercially
  92.    academically or by other organizations without written permission
  93.    from Instant Recall.
  94.  
  95. $),
  96.       yes(
  97. $            I agree to these conditions by typing y(es),
  98.             or may exit tye program by typing q(uit).
  99.  
  100.             >>$,
  101.             q_means_no,
  102.             do_quit  )  .
  103.  
  104.  
  105.  
  106. init_ops :-
  107.        reset_op,
  108.        current_op( Prec, _    , is),
  109.        op( Prec , fx, stub).       % same as is in prec.
  110. %      op( Prec , fx, stub_out),       % same as is in prec.
  111. %      op( Prec , Ops, turned).
  112.  
  113. rrconsult(X) :-
  114.     log_write($reconsulting $),
  115.     log_write(X),
  116.     log_write($...$),
  117.     reconsult(X),
  118.     log_write($reconsulted!$),
  119.     log_nl.
  120.  
  121. rconsult(X) :-
  122.     log_write($consulting $),
  123.     log_write(X),
  124.     log_write($...$),
  125.     consult(X),
  126.     log_write($consulted!$),
  127.     log_nl.
  128.  
  129. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  130.  
  131.